package com.briup.ch12;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @author yuxi
 * @version 1.0
 * @date 2025/10/17
 * @Description:
 */
public class Test01_Server {
    public static <BudderedReader> void main(String[] args) throws IOException {
        //创建服务（指定端口），等待连接，有：获得客户端连接，接收数据，处理数据，返回数据
        //for/while循环，不断接收客户端连接，处理数据，返回数据
        //接收到客户端连接后，创建线程处理数据，返回数据
        //线程池，创建线程池，接收客户端连接，将线程放入线程池，线程池中线程处理数据，返回数据
        //线程池中线程处理完数据后，线程池中线程退出，释放资源
        //服务端退出，释放资源

        ServerSocket server= new ServerSocket(12121);

        for (int i = 0; i < 4; i++) {
            Socket client_copy=server.accept();
            System.out.println("客户端连接成功！"+client_copy);
            //getPort()获取客户端的端口号，getLocalPort()获取服务端的端口号
            System.out.println(client_copy.getPort()+" "+client_copy.getLocalPort());
            //副本的输入流，client输出流，client输入流，副本输出流
            BufferedReader br=new BufferedReader(new InputStreamReader(client_copy.getInputStream()));
            BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(client_copy.getOutputStream()));
            System.out.println("客户端发来的消息："+br.readLine());
            bw.write("服务端回复：你好，客户端！"+System.currentTimeMillis());

        }

    }
}
